//
// Created by BWY on 2024/2/13.
// 顺序表查找
#include <vector>

using namespace std;
// 顺序查找表算法1
int SeqSearch1(vector<int>& R, int k) {
    int n = R.size();
    int i = 0;
    while(i < n && R[i] != k)
        i++;                    // 从表头往后找
    if(i >= n) return -1;       // 未找到返回-1
    else return i;              // 找到后返回其序号i
}

// 顺序查找算法2 -- 设置一个哨兵
int SeqSearch2(vector<int>& R, int k) {
    int n = R.size();
    R.push_back(k);         // 在末尾添加一个哨兵
    int i = 0;
    while (R[i] != k)       // 关键字比较：一直比较到哨兵
        i++;          // 从表头往后找
    if(i >= n) return -1;       // 未找到返回-1
    else return i;              // 找到后返回其序号i
}